/**

This file is part of MaCI/GIMnet.

MaCI/GIMnet is free software: you can redistribute it and/or modify it 
under the terms of the GNU Lesser General Public License as published 
by the Free Software Foundation, either version 3 of the License, or 
(at your option) any later version.

MaCI/GIMnet is distributed in the hope that it will be useful, but WITHOUT 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public 
License for more details.

You should have received a copy of the GNU Lesser General Public 
License along with GIMnet. (See COPYING.LESSER) If not, see 
<http://www.gnu.org/licenses/>.

**/
/*******************************************************************************
    FILE NAME:		decls.h

    PROJECT:		Linux ECAN527/1000 driver, library, and sample programs

    FILE DESCRIPTION:	This header file contains macros to assist in declaring
    			functions and variables.

    Copyright (c) 2004 RTD Embedded Technologies, Inc.

    For driver version, compiler, and target information, please refer to the
    file README.TXT.
*******************************************************************************/

#ifndef  _ECAN_DECLS_H
# define _ECAN_DECLS_H


# ifdef	__cplusplus
#  define	__C_DECL extern "C"
#  define	__BEGIN_C_DECLS	__C_DECL {
#  define	__END_C_DECLS	}
# else
#  define	__C_DECL
#  define	__BEGIN_C_DECLS
#  define	__END_C_DECLS
# endif


/* For C++ programs we add throw() to help it optimize the function calls. */
/* But this works only with gcc 2.8.x and egcs.                            */

# ifndef   __NOTHROW
#  if defined __cplusplus &&	\
	( __GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ >= 8 )
#   define __NOTHROW	throw ()
#  else
#   define __NOTHROW
#  endif
# endif	// __NOTHROW


#endif	/* _ECAN_DECLS_H */
